AWS SSMセッションマネージャー
概要
EC2インスタンスに接続できる
SG不要!!
インスタンスへの鍵の登録不要
ユーザーはaws ssmと通信を行って、EC2上で動作するssm agentがaws ssmに定期的にポーリングすることで通信ができている
user→ssm←EC2
https://gyazo.com/9e469669f174f7ece96f637cef367029
EC2ではssm agentが色々してssmと通信を行うので、それ用のIAMロールが必要になる
接続ユーザーssm-user
ssh over ssmもできる
メリット
sshキー不要
セキュリティグループでsshポートの開放が不要
プライベートサブネットでも踏み台なしでアクセス可能
IAMによるアクセス制御が可能
ログインやシェル操作のログが残る
前提条件
EC2
ssmエージェントのインストール→amazon linuxでは予め入っている
IAMロール(AmazonSSMManagedInstanceCore)
VPC(aws ssmと通信できる必要がある)
パブリックサブネット→問題なし
プライベートサブネット
nat gatewayあり→問題なし
nat gatewayなし→VPCエンドポイントを用意する(ssm,ec2messages,ssmmessages,s3) ローカルPC
awscli
session manager plugin
code:text
$ unzip sessionmanager-bundle.zip
$ sudo ./sessionmanager-bundle/install -i /usr/local/sessionmanagerplugin -b /usr/local/bin/session-manager-plugin
必須ではないがやっておくとよいこと
ssm画面でS3、CloudWatch Logsへセッションログを出力する設定をする
セッションマネージャでのEC2への接続
マネコンから接続する時はただポチるだけ
ローカルから接続
aws ssm start-session --target i-xxxxxxxxxxxxxx
必要なロールで接続する時は適宜よろしくやる
aws ssm start-session --target i-xxxxxxxxxxxxxx --profile role
参照
接続エラーの時に参照
S3/Cloudwatchへのログの出力の設定など参考になる
https://youtu.be/roUX2CISH7I
https://youtu.be/bDTkSTtcymM